﻿#ifndef POSTCOMMAND_CMDSAVESURFACEELECTRICFIELDMAPMAINSETTINGDATA_H
#define POSTCOMMAND_CMDSAVESURFACEELECTRICFIELDMAPMAINSETTINGDATA_H

#include "CommandManager/CommandBase.h"
#include <QString>

namespace PostCommand
{
    /// @brief 后处理保存图像命令
    class CmdSaveSurfaceElectricFieldMapMainSettingData : public CommandManager::CommandBase
    {
        Q_OBJECT

    public:
        CmdSaveSurfaceElectricFieldMapMainSettingData();
        ~CmdSaveSurfaceElectricFieldMapMainSettingData();

        bool execute() override;
        void undo() override;
        void redo() override;

        void saveSurfaceElectricFieldMapMainSettingData(int windowId, int type, int settingDataId, bool scalarBarIsAutoRange, double scalarBarMin, double scalarBarMax,
            bool scalarBarIsShowTitle, QString scalarBarTitle, QString scalarBarFontColor, int scalarBarFontSize, int geometryTransparency, QString resultGraphName,
            int resultGraphModelTransparency, bool cubeAxesIsVisible);

    private:
        int m_windowId;
        int m_type;
        int m_settingDataId;
        bool m_scalarBarIsAutoRange;
        double m_scalarBarMin;
        double m_scalarBarMax;
        bool m_scalarBarIsShowTitle;
        QString m_scalarBarTitle;
        QString m_scalarBarFontColor;
        int m_scalarBarFontSize;
        int m_geometryTransparency;
        QString m_resultGraphName;
        int m_resultGraphModelTransparency;
        bool m_cubeAxesIsVisible;

    };
} // namespace PostCommand

#endif
